import { useState, useEffect } from 'react'

// 这就是一个自定义hook
// 1. 自定义hooks 必须以use开头命名
// 2. 自定义hooks和内置hook使用的规范一直 只能在函数组件以及自定义hook中使用, 也不能条件循环中使用
export function usePosition() {
  const [positon, setPosition] = useState({ x: 0, y: 0 })
  useEffect(() => {
    const moveHandle = (e) => {
      setPosition({
        x: e.pageX,
        y: e.pageY,
      })
    }

    window.addEventListener('mousemove', moveHandle)

    return () => {
      window.removeEventListener('mousedown', moveHandle)
    }
  }, [])

  return positon
}
